package demo4;

// 客户端测试
public class Client {
    public static void main(String[] args) {
        // 创建文本框
        TextBox textBox = new TextBox(null);
        textBox.setText("Hello, Mediator Pattern!");

        // 创建中介者（关联文本框）
        EditorMediator mediator = new EditorMediator(textBox);

        // 重新设置文本框的中介者（因为初始化时中介者还未创建）
        textBox.mediator = mediator;

        // 创建命令（关联中介者）
        Command copy = new CopyCommand(mediator);
        Command cut = new CutCommand(mediator);
        Command paste = new PasteCommand(mediator);

        // 模拟操作流程
        System.out.println("初始文本：" + textBox.getText());

        // 选中 "Mediator"（位置 7-15）
        textBox.setSelection(7, 15);
        System.out.println("选中文本：" + textBox.getSelectedText());

        // 执行复制
        copy.execute();

        // 执行剪切（选中 "Hello, "）
        textBox.setSelection(0, 7);
        cut.execute();
        System.out.println("剪切后文本：" + textBox.getText());

        // 执行粘贴（粘贴之前复制的 "Mediator"）
        paste.execute();
        System.out.println("粘贴后文本：" + textBox.getText());
    }
}